using System.Collections;
using System.Collections.Generic;
using UnityEditor;
using UnityEngine;

// 自定义编辑器属性，指定该编辑器用于PlayerStats类型
[CustomEditor(typeof(PlayerStats))]
public class PlayerStatsEditor : Editor
{
    /// <summary>
    /// 获取当前目标对象的玩家统计信息。
    /// </summary>
    /// <remarks>
    /// 此属性简化了对目标玩家统计信息的访问，通过隐式类型转换实现。
    /// </remarks>
    private PlayerStats StatsTarget => target as PlayerStats;

    /// <summary>
    /// 在检查器窗口中绘制自定义的GUI。
    /// 该方法在编辑器中显示对象的属性时调用。
    /// </summary>
    public override void OnInspectorGUI()
    {
        // 调用基类的OnInspectorGUI方法，确保默认的属性绘制行为得以执行。
        base.OnInspectorGUI();
        
        // 如果用户点击了"重置属性"按钮，则调用StatsTarget的ResetPlayer方法进行重置。
        if (GUILayout.Button("重置属性"))
        {
            StatsTarget.ResetPlayer();
        }
    }
}
